Not applicable.
Not applicable.
1. Field of the Invention
The invention relates to modems used in personal computers, and more particularly to a modem wherein the controller and UART functions are performed by the host CPU using software organized as virtualized driver and modem modules, with the modules communicating via a virtualized UART interface.
2. Description of the Related Art
Most of today""s personal computers include some form of modem fumctionality. High speed modem systems are typically incorporated onto an option card, and usually include a xe2x80x9cdata pumpxe2x80x9d for supporting the various protocols of modem communication, such as the V.22, V.22bis, V.32, V.32bis, and V.34 (28.8 Kbps) protocols recommended by the International Telegraph and Telephone Consultative Committee (CCITT). The data pump itself typically includes a DSP (digital signal processor) for performing modulation, demodulation and echo cancellation and a coder-decoder (CODEC) for performing analog to digital (A/D) and digital to analog (D/A) conversion. Analog signals from the phone line are digitized by the CODEC and then demodulated by the DSP to extract the original digital data sent by an external device. This procedure is reversed for data transmitted by the modem to the external device.
In prior modems, support logic to interface the modem to the computer system has typically included a microcontroller for establishing a communications link, controlling the sequence of events to originate or answer a call, and to transmit or receive digital data from the computer system through a universal asynchronous receiver transmitter (UART) across the I/O bus. The microcontroller also typically performs error correction procedures, such as those according to the V.42 protocol, as well as compression/decompression procedures, such as those according to the V.42bis protocol recommended by the CCITT.
The UART was originally designed as an intelligent microchip for serial interfacing, typically serializing data presented over a bus (or serial transmission such as over an RS-232 communications link) and receiving such data, converting it to parallel form, and sending it over a bus. Access to a UART chip is typically gained through a personal computer system""s I/O ports (typically COM1 and COM2). Typical representatives include the UART 8250 and 16450 chips by National Semiconductor Corporation.
The hardware portions of modem devices contribute substantially to the ultimate cost of such modems. Further, they contribute to the size of such modems. Any reduction in the component count of such modems is desirable because it results in lower costs.
Further, ease of upgradability and portability across different operating system platforms is important to modem makers in today""s age of rapidly changing technology and quick obsolescence. Manufacturers are faced with the pressure of trying to recover the cost of hardware development in the face of shortened product lifecycles. Therefore, any reduction in such hardware development is similarly desirable.
In a modem according to the preferred embodiment, the UART and microcontroller functions are virtualized and implemented in software (the xe2x80x9cmodem modulexe2x80x9d) run on the host processor. The modem module interfaces with a second layer (the xe2x80x9cvirtual device driver layerxe2x80x9d) that includes an operating system-specific virtual port driver that interacts with the operating system. This dichotomized architecture is advantageous in that the modem module software remains virtually unchanged when the modem is used in conjunction with different operating systems (OSs). Most operating systems already incorporate the ability to communicate with a UART. Hence, modifying only the virtual device driver layer is much simpler and more cost effective than attempting to modify both layers.
Implementing portions of the modem hardware as software modules has additional advantages. By leveraging the capabilities of today""s powerful microprocessors, high speed modem performance is actually improved over that of xe2x80x9cstandardxe2x80x9d modems by eliminating bottlenecks associated with physical UARTs. Thus, a modem according to the present invention can be cheaper, faster, and easier to upgrade than traditional modem cards.